Enabling Isilon in Open Source CF

Pre-Requisits

Before enabling Isilon on the Diego Cells with the following guide, ensure you have already performed the following 2 steps.

  • Installed and have a running LibStorage host connected to your Isilon.

  • Installed and have a running Isilon Service Broker connected to the above LibStorage host. This may be deployed inside of CloudFoundry as an application, externally through BOSH or stand-alone on a VM.

Step 1: Enable Volume Services in CF Manifest

Locate your CF Deployment manifest and add the following property:

properties:
  ...
  cc:
    volume_services_enabled: true

volume_services_enabled allows the experimental "volume services" feature of CF to connect to our service broker.

Step 2: Create RexRay Release

Using git, clone the repository at https://github.com/EMC-Dojo/rexray-boshrelease.git like:

git clone https://github.com/EMC-Dojo/rexray-boshrelease.git

Ensure that you have logged into the bosh director for OpsManager. You can find the Director IP and credentials through the OpsManager UI.

To create and upload the release from the github repository, cd into the rexray-boshrelease directory, and use the following commands:

bosh create release --name rexray-bosh-release
bosh upload release $PWD/dev_releases/rexray-bosh-release/rexray-bosh-release-0+dev.1.yml

There should now be a bosh release like :

| rexray-bosh-release       | 0+dev.1       | w00th4sh    |

you can check that this is on the bosh director with bosh releases.

Step 3: Add Bosh Volume Driver (RexRay)

Edit the Diego manifest with your favorite editor (VIM), and modify the following YAML structures:

releases:
- name: rexray-bosh-release  
  version: 'latest'  
...
- name: diego_cell
  ...
  ...
  jobs:
  - name: rexray_service  
    release: rexray-bosh-release  
  ...
  properties:
    rexray: |  
        ---  
        rexray:  
          modules:  
            isilon:  
              disabled: false  
              host: tcp://127.0.0.1:9002  
              spec: /var/vcap/data/voldrivers/rexray_isilon.spec  
              http:  
                writetimeout: 900  
                readtimeout: 900  
              type: docker  
              libstorage:  
                service: isilon  
        libstorage:
          logging:
            level: debug
          embedded: true  
          server:
            logging:
              level: debug  
            services:  
              isilon:  
                driver: isilon
          integration:
            volume:
              operations:
                mount:
                  path: /var/vcap/data  
        isilon:  
          endpoint: #EDIT ME
          insecure: true  
          username: #EDIT ME
          password: #EDIT ME
          volumePath: /rexray #READ NOTE2 BELOW
          nfsHost: #EDIT ME
          dataSubnet: #EDIT ME
          quotas: #EDIT ME
          sharedMounts: true
        linux:  
          volume:  
            fileMode: 0777  

NOTE: VALUES ABOVE MARKED "EDIT ME" WILL NOT WORK, UPDATE THEM AND REMOVE THE COMMENT INCLUDING #

NOTE2: volumePath refers to the path relative to /ifs/volumes/ on your Isilon. This is the folder where we will create subfolders for your CloudFoundry. ENSURE THIS IS PRE-CREATED AND IS THE CORRECT PATH #

Step 4: Re-Deploy Diego Cells

bosh deployment my-cf-manifest.yml
bosh deploy
...
bosh deployment my-diego-cells.yml
bosh deploy

If this succeeds, congratulations! Libstorage should be running on a VM, Rexray should be running on Diego Cells, and the Isilon Service Broker should be deployed on opensource CloudFoundry. All of this to allow you to use your Isilon as a Persistent Storage solution. If you need any additional help contact us at any of the following!